package cn.iocoder.yudao.module.happycore.dal.mysql.oxmodel;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.happycore.controller.admin.oxmodel.vo.OxModelPageReqVO;
import cn.iocoder.yudao.module.happycore.dal.dataobject.oxmodel.OxModelDO;
import org.apache.ibatis.annotations.Mapper;


/**
 * 模型 Mapper
 *
 * @author 昂热
 */
@Mapper
public interface OxModelMapper extends BaseMapperX<OxModelDO> {

    default PageResult<OxModelDO> selectPage(OxModelPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<OxModelDO>()
                .likeIfPresent(OxModelDO::getModeName, reqVO.getModeName())
                .eqIfPresent(OxModelDO::getModeParents, reqVO.getModeParents())
                .eqIfPresent(OxModelDO::getModePath, reqVO.getModePath())
                .eqIfPresent(OxModelDO::getProjectId, reqVO.getProjectId())
                .betweenIfPresent(OxModelDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(OxModelDO::getId));
    }

}